package so.obligatorio.procesos;

import javax.xml.bind.annotation.XmlAttribute;

import so.obligatorio.Reloj;
import so.obligatorio.modelo.FormaPago;

public class Cliente {

	private String cedula;
	private String espectaculo;
	private Integer cantidad;
	private FormaPago formaPago;
	private boolean discapacitado;
	private Integer turnoEntrada;
	private Integer turnoSalida;

	public Cliente(){}
	
	public Cliente(String cedula, String espectaculo, Integer cantidad,
			FormaPago formaPago, boolean discapacitado) {
		super();
		this.cedula = cedula;
		this.espectaculo = espectaculo;
		this.cantidad = cantidad;
		this.formaPago = formaPago;
		this.discapacitado = discapacitado;
		
	}
	@XmlAttribute
	public String getCedula() {
		return cedula;
	}
	public void setCedula(String cedula) {
		this.cedula = cedula;
	}
	@XmlAttribute
	public String getEspectaculo() {
		return espectaculo;
	}
	public void setEspectaculo(String espectaculo) {
		this.espectaculo = espectaculo;
	}
	@XmlAttribute
	public Integer getCantidad() {
		return cantidad;
	}
	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}
	@XmlAttribute(name="forma-pago")
	public FormaPago getFormaPago() {
		return formaPago;
	}
	public void setFormaPago(FormaPago formaPago) {
		this.formaPago = formaPago;
	}
	@XmlAttribute
	public boolean isDiscapacitado() {
		return discapacitado;
	}
	public void setDiscapacitado(boolean discapacitado) {
		this.discapacitado = discapacitado;
	}

	public Integer getTurnoEntrada() {
		return turnoEntrada;
	}
	public void setTurnoEntrada(Integer turnoEntrada) {
		this.turnoEntrada = turnoEntrada;
	}
	public Integer getTurnoSalida() {
		return turnoSalida;
	}
	public void setTurnoSalida(Integer turnoSalida) {
		this.turnoSalida = turnoSalida;
	}

	public String getTipoCliente() {
		if(this.isDiscapacitado()) {
			return "DISCAPACITADO";
		} else if (FormaPago.TARJETA_CON_PREFERENCIA.equals(this.getFormaPago())) {
			return "TARJETA_CON_PREFERENCIA";
		} 
		else if (this.getCantidad()>=40){
			return "GRAN_COMPRADOR";
		}
		else {
			return "COMPRADOR_NORMAL";
		}
	}
}
